import dayjs from "dayjs";

/**
 * 使用 dayjs 格式化时间并返回多个常用时间字符串。
 *
 * @param {Date|string|number} [dateTime=new Date()] - 可选的时间参数，可以是 Date 对象、时间戳或可被 dayjs 解析的字符串。
 * @returns {{
 *   mo: dayjs.Dayjs,          // dayjs 对象，可用于进一步操作
 *   year: string,            // 年份（YYYY）
 *   month: string,           // 月份（MM）
 *   day: string,             // 日期（DD）
 *   hour: string,            // 小时（HH）
 *   date: string,            // 标准日期格式（YYYY-MM-DD）
 *   teamDate: string,        // 业务日期：当前时间基础上加4小时后的日期
 *   time: string             // 完整时间格式（YYYY-MM-DD HH:mm:ss）
 * }}
 */
const dayjsFormat = (dateTime = new Date()) => {
    let mo = dayjs(dateTime);                         // 创建 dayjs 对象
    let year = mo.format("YYYY");                     // 获取年份
    let month = mo.format("MM");                      // 获取月份
    let day = mo.format("DD");                        // 获取日期
    let hour = mo.format("HH");                       // 获取小时
    let date = mo.format("YYYY-MM-DD");               // 标准日期格式

    // 业务日期：当前时间基础上加4小时后的日期
    let mo1 = dayjs(dateTime);
    let teamDate = mo1.add(4, 'hours').format("YYYY-MM-DD");

    let time = mo.format('YYYY-MM-DD HH:mm:ss');      // 完整时间格式

    return {mo, year, month, day, hour, date, teamDate, time};
}
